<?php

namespace app\common\model\package;

use app\common\model\BaseModel;

/**
 * TP Babycar 套餐模型
 */
class BabycarPackage extends BaseModel
{
    protected $pk = 'package_id';
    protected $name = 'babycar_package';

    /**
     * 获取套餐列表（分页）
     * @param array $params 查询参数
     * @return array
     */
    public function getList($params)
    {
        $query = $this->newQuery();
        // 软删除过滤
        $query->where('is_deleted', 0);
        // 分页
        $page = !empty($params['page']) ? $params['page'] : 1;
        $limit = !empty($params['limit']) ? $params['limit'] : 10;
        $list = $query->order('created_at', 'desc')->paginate($limit, false, ['page' => $page]);
        return $list;
    }

    /**
     * 获取套餐详情
     * @param int $package_id 套餐ID
     * @return array|null
     */
    public function getDetail($package_id)
    {
        return $this->where('package_id', $package_id)
            ->where('is_deleted', 0)
            ->find();
    }

    /**
     * 创建套餐
     * @param array $data 套餐数据
     * @return bool
     */
    public function createPackage($data)
    {
        return $this->save($data);
    }

    /**
     * 更新套餐
     * @param int $package_id 套餐ID
     * @param array $data 更新数据
     * @return bool
     */
    public function updatePackage($package_id, $data)
    {
        return $this->where('package_id', $package_id)
            ->where('is_deleted', 0)
            ->update($data);
    }

    /**
     * 删除套餐（软删除）
     * @param int $package_id 套餐ID
     * @return bool
     */
    public function deletePackage($package_id)
    {
        return $this->where('package_id', $package_id)
            ->where('is_deleted', 0)
            ->update(['is_deleted' => 1]);
    }
} 